package com.itheima.Regexdemo;

/**
 * @author zhangbaiyan
 * @date 2024-08-20 21:04
 * @description:
 * @version:
 */
public class test7 {
    public static void main(String[] args) {
        /*需求:
            将字符串:我要学学编编编编编编编编程程程程程程
         */

        String str="我要学学编编编编编编编编程程程程程程";

        //需求:把重复的内容 替换为 单个的
        //学学            学
        //编编编编编编编         编
        //程程程程程程程程       程
        //(.)表示把重复内容的第一个字符看做一组
        //\\1 表示第一个字符再次出现
        //+   至少一次
        //$1  表示把正则表达式中的第一组的内容,再拿出来用
        String result=str.replaceAll("(.)\\1+", "$1");
        System.out.println(result);


        //身份证号码的简易正则表达式
        //非捕获分组:仅仅是把数据括起来
        //特点:不占用组号
        //这里\\1报错原因:(?:)就是非捕获分组,此时是不占用组号的。

        //(?:)  (?=)  (?! 都是非捕获分组
        //更多的使用第一个
        System.out.println("-----------------");
        String regex = "[1-9]\\d{16}(?:\\d|X|x)";

        System.out.println("35012119991115155x".matches(regex));
    }
}
